[INFO] fetching crate octo-code-agent 0.1.0...
[INFO] fixing octo-code-agent-0.1.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate octo-code-agent 0.1.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate octo-code-agent 0.1.0
[INFO] finished tweaking crates.io crate octo-code-agent 0.1.0
[INFO] tweaked toml for crates.io crate octo-code-agent 0.1.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate octo-code-agent 0.1.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate octo-code-agent 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3dbb42e74b5fe7bfa0a134c5aa00551875909615d6b0e29eba2434ab0618a3f8
[INFO] running `Command { std: "docker" "start" "3dbb42e74b5fe7bfa0a134c5aa00551875909615d6b0e29eba2434ab0618a3f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3dbb42e74b5fe7bfa0a134c5aa00551875909615d6b0e29eba2434ab0618a3f8" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3dbb42e74b5fe7bfa0a134c5aa00551875909615d6b0e29eba2434ab0618a3f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3dbb42e74b5fe7bfa0a134c5aa00551875909615d6b0e29eba2434ab0618a3f8" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling libc v0.2.181
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]     Checking bitflags v2.10.0
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling syn v2.0.115
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]     Checking regex-syntax v0.8.9
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]     Checking clap_lex v1.0.0
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking clap_builder v4.5.58
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]     Checking uuid v1.20.0
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking tempfile v3.25.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking clap v4.5.58
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking sqlx-core v0.8.6
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking tui-textarea v0.7.0
[INFO] [stderr]     Checking sqlx-sqlite v0.8.6
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]     Checking reqwest-eventsource v0.6.0
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking octo-code-agent v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/cli/setup.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/tools/mod.rs:76:10
[INFO] [stdout]      |
[INFO] [stdout]   69 |     let client = reqwest::Client::builder()
[INFO] [stdout]      |         ------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `client` calls a custom destructor
[INFO] [stdout]      |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   76 |         .await
[INFO] [stdout]      |          ^^^^^
[INFO] [stdout]      |          |
[INFO] [stdout]      |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   79 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.75/src/ssl/mod.rs:1778:1
[INFO] [stdout]      |
[INFO] [stdout] 1778 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1779 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1780 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1791 | |     pub struct SslContextRef;
[INFO] [stdout] 1792 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/agent/agent.rs:215:23
[INFO] [stdout]      |
[INFO] [stdout]  215 |                   match provider
[INFO] [stdout]      |  _______________________^
[INFO] [stdout]  216 | |                     .stream_response(&messages, &system_prompt, &tool_defs)
[INFO] [stdout]  217 | |                     .await
[INFO] [stdout]      | |                      ----^
[INFO] [stdout]      | |                      |   |
[INFO] [stdout]      | |                      |   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                      |   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  222 |                           let _ = tx
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]  223 | |                             .send(AgentEvent::Error {
[INFO] [stdout]  224 | |                                 error: format!(
[INFO] [stdout]  225 | |                                     "Rate limited. Waiting {:.0}s... (attempt {}/3)",
[INFO] [stdout] ...    |
[INFO] [stdout]  229 | |                             })
[INFO] [stdout]  230 | |                             .await;
[INFO] [stdout]      | |                                  -
[INFO] [stdout]      | |__________________________________|
[INFO] [stdout]      | |__________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  231 | |                         tokio::time::sleep(std::time::Duration::from_millis(wait)).await;
[INFO] [stdout]      | |                         ----------------------------------------------------------------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  238 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/agent/agent.rs:215:23
[INFO] [stdout]      |
[INFO] [stdout]  212 |           let mut event_stream = 'retry: {
[INFO] [stdout]      |               ----------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `event_stream` calls a custom destructor
[INFO] [stdout]      |               `event_stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  215 |                   match provider
[INFO] [stdout]      |  _______________________^
[INFO] [stdout]  216 | |                     .stream_response(&messages, &system_prompt, &tool_defs)
[INFO] [stdout]  217 | |                     .await
[INFO] [stdout]      | |                      ----^
[INFO] [stdout]      | |                      |   |
[INFO] [stdout]      | |                      |   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                      |   up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                        up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  222 |                           let _ = tx
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]  223 | |                             .send(AgentEvent::Error {
[INFO] [stdout]  224 | |                                 error: format!(
[INFO] [stdout]  225 | |                                     "Rate limited. Waiting {:.0}s... (attempt {}/3)",
[INFO] [stdout] ...    |
[INFO] [stdout]  229 | |                             })
[INFO] [stdout]  230 | |                             .await;
[INFO] [stdout]      | |                                  -
[INFO] [stdout]      | |__________________________________|
[INFO] [stdout]      | |__________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  231 | |                         tokio::time::sleep(std::time::Duration::from_millis(wait)).await;
[INFO] [stdout]      | |                         ----------------------------------------------------------------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  238 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  243 | |             process_stream(&mut event_stream, &session_id, &provider, &tx, &cancel).await?;
[INFO] [stdout]      | |             -----------------------------------------------------------------------------
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |             `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  272 |                       let _ = tx
[INFO] [stdout]      |  _____________________________-
[INFO] [stdout]      | |_____________________________|
[INFO] [stdout]  273 | |                         .send(AgentEvent::ToolCallStart {
[INFO] [stdout]  274 | |                             id: call_id.to_string(),
[INFO] [stdout]  275 | |                             name: call_name.to_string(),
[INFO] [stdout]  276 | |                         })
[INFO] [stdout]  277 | |                         .await;
[INFO] [stdout]      | |                              -
[INFO] [stdout]      | |______________________________|
[INFO] [stdout]      | |______________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  278 |
[INFO] [stdout]  279 | |                     let tool_ctx = ToolContext {
[INFO] [stdout]      | |                         --------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         `tool_ctx` calls a custom destructor
[INFO] [stdout]      | |                         `tool_ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  292 | |                     let result = match tool.run(&call, &tool_ctx).await {
[INFO] [stdout]      | |                                        --------------------------------
[INFO] [stdout]      | |                                        |
[INFO] [stdout]      | |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  296 |                               let _ = tx
[INFO] [stdout]      |  _____________________________________-
[INFO] [stdout]      | |_____________________________________|
[INFO] [stdout]  297 | |                                 .send(AgentEvent::ToolResult {
[INFO] [stdout]  298 | |                                     tool_call_id: call_id.to_string(),
[INFO] [stdout]  299 | |                                     tool_name: call_name.to_string(),
[INFO] [stdout] ...    |
[INFO] [stdout]  302 | |                                 })
[INFO] [stdout]  303 | |                                 .await;
[INFO] [stdout]      | |                                      -
[INFO] [stdout]      | |______________________________________|
[INFO] [stdout]      | |______________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  309 |                           let _ = tx
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]  310 | |                             .send(AgentEvent::ToolResult {
[INFO] [stdout]  311 | |                                 tool_call_id: call_id.to_string(),
[INFO] [stdout]  312 | |                                 tool_name: call_name.to_string(),
[INFO] [stdout] ...    |
[INFO] [stdout]  315 | |                             })
[INFO] [stdout]  316 | |                             .await;
[INFO] [stdout]      | |                                  -
[INFO] [stdout]      | |__________________________________|
[INFO] [stdout]      | |__________________________________this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                                    `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `event_stream` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `tool_ctx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-util-0.7.18/src/sync/cancellation_token.rs:125:1
[INFO] [stdout]      |
[INFO] [stdout]  125 | impl Drop for CancellationToken {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/cli/repl.rs:52:19
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 match handle_command(&input, &app, &session).await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |                                      |
[INFO] [stdout]     |                       |                                      this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                       |                                      up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                       up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  55 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  60 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  63 |             let messages = app
[INFO] [stdout]     |    ________________________-
[INFO] [stdout]     |  _|________________________|
[INFO] [stdout]  64 | | |             .db
[INFO] [stdout]  65 | | |             .messages()
[INFO] [stdout]     | | |                       -
[INFO] [stdout]     | | |                       |
[INFO] [stdout]     | | |_______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  66 | |               .list(&session.id)
[INFO] [stdout]  67 | |               .await
[INFO] [stdout]     | |                    -
[INFO] [stdout]     | |                    |
[INFO] [stdout]     | |____________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  71 |             let (mut rx, _cancel) = app.agent.run(session.id.clone(), messages, input);
[INFO] [stdout]     |                  ------  -------    --------------------------------------------------
[INFO] [stdout]     |                  |       |          |
[INFO] [stdout]     |                  |       |          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                  |       |          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  |       `_cancel` calls a custom destructor
[INFO] [stdout]     |                  |       `_cancel` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  `rx` calls a custom destructor
[INFO] [stdout]     |                  `rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  74 |             super::output::render_stream(&mut rx, false, None).await?;
[INFO] [stdout]     |             ---------------------------------------------------------
[INFO] [stdout]     |             |                                                  |
[INFO] [stdout]     |             |                                                  this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |             |                                                  `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |             `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |             `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/pool/inner.rs:437:1
[INFO] [stdout]     |
[INFO] [stdout] 437 | impl<DB: Database> Drop for PoolInner<DB> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_cancel` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-util-0.7.18/src/sync/cancellation_token.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl Drop for CancellationToken {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:360:37
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________-
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----    ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     | |                            |        |                  |
[INFO] [stdout]     | |                            |        |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |        |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            |        this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |                            |        up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 362 | |                     Ok(c) => c,
[INFO] [stdout] 363 | |                     Err(e) => {
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 491 | |             }
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |         `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |           `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tools/ls.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 |             while let Some(entry) = dir
[INFO] [stdout]    |  __________________________-----____^
[INFO] [stdout]    | |  ________________________|________|
[INFO] [stdout]    | | |                        |
[INFO] [stdout]    | | |                        `entry` calls a custom destructor
[INFO] [stdout]    | | |                        `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 50 | | |             .next_entry()
[INFO] [stdout] 51 | | |             .await
[INFO] [stdout]    | | |              -----
[INFO] [stdout]    | | |              |   |
[INFO] [stdout]    | | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]    | |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    | |                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |                up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 52 | |               .map_err(|e| ToolError::ExecutionFailed(e.to_string()))?
[INFO] [stdout]    | |                                                                      ^
[INFO] [stdout]    | |                                                                      |
[INFO] [stdout]    | |                                                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | |                                                                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |______________________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                                                                        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 53 |             {
[INFO] [stdout] 54 |                 let meta = entry.metadata().await.ok();
[INFO] [stdout]    |                            ----------------------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 65 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tools/view.rs:71:37
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 while let Some(entry) = dir
[INFO] [stdout]    |  ______________________________-----____^
[INFO] [stdout]    | |  ____________________________|________|
[INFO] [stdout]    | | |                            |
[INFO] [stdout]    | | |                            `entry` calls a custom destructor
[INFO] [stdout]    | | |                            `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 72 | | |                 .next_entry()
[INFO] [stdout] 73 | | |                 .await
[INFO] [stdout]    | | |                  -----
[INFO] [stdout]    | | |                  |   |
[INFO] [stdout]    | | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]    | |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    | |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 74 | |                   .map_err(|e| ToolError::ExecutionFailed(e.to_string()))?
[INFO] [stdout]    | |                                                                          ^
[INFO] [stdout]    | |                                                                          |
[INFO] [stdout]    | |                                                                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | |                                                                          up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                                                                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 75 |                 {
[INFO] [stdout] 76 |                     let is_dir = entry
[INFO] [stdout]    |    ______________________________-
[INFO] [stdout]    |   |______________________________|
[INFO] [stdout] 77 |   |                     .file_type()
[INFO] [stdout] 78 |   |                     .await
[INFO] [stdout]    |   |                          -
[INFO] [stdout]    |   |__________________________|
[INFO] [stdout]    |   |__________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 87 |   |             }
[INFO] [stdout]    |   |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/cli/setup.rs:81:35
[INFO] [stdout]     |
[INFO] [stdout]  81 |                             match save_api_key(&key) { Err(e) => {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^       -
[INFO] [stdout]     |                                   |                        |
[INFO] [stdout]     |                                   |                        `e` calls a custom destructor
[INFO] [stdout]     |                                   |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  86 |                         }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/tools/mod.rs:76:10
[INFO] [stdout]      |
[INFO] [stdout]   69 |     let client = reqwest::Client::builder()
[INFO] [stdout]      |         ------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `client` calls a custom destructor
[INFO] [stdout]      |         `client` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   76 |         .await
[INFO] [stdout]      |          ^^^^^
[INFO] [stdout]      |          |
[INFO] [stdout]      |          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |          up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   79 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]      |
[INFO] [stdout]  680 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `client` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/futures-channel-0.3.31/src/oneshot.rs:387:1
[INFO] [stdout]      |
[INFO] [stdout]  387 | impl<T> Drop for Sender<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:225:1
[INFO] [stdout]      |
[INFO] [stdout]  225 | impl<T, S> Drop for Tx<T, S> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `client` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/foreign-types-0.3.2/src/lib.rs:238:9
[INFO] [stdout]      |
[INFO] [stdout]  238 |           impl Drop for $owned {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/openssl-0.10.75/src/ssl/mod.rs:1778:1
[INFO] [stdout]      |
[INFO] [stdout] 1778 | / foreign_type_and_impl_send_sync! {
[INFO] [stdout] 1779 | |     type CType = ffi::SSL_CTX;
[INFO] [stdout] 1780 | |     fn drop = ffi::SSL_CTX_free;
[INFO] [stdout] ...    |
[INFO] [stdout] 1791 | |     pub struct SslContextRef;
[INFO] [stdout] 1792 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout]      = note: this warning originates in the macro `::foreign_types::foreign_type` which comes from the expansion of the macro `foreign_type_and_impl_send_sync` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/agent/agent.rs:215:23
[INFO] [stdout]      |
[INFO] [stdout]  215 |                   match provider
[INFO] [stdout]      |  _______________________^
[INFO] [stdout]  216 | |                     .stream_response(&messages, &system_prompt, &tool_defs)
[INFO] [stdout]  217 | |                     .await
[INFO] [stdout]      | |                      ----^
[INFO] [stdout]      | |                      |   |
[INFO] [stdout]      | |                      |   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                      |   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                        up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  222 |                           let _ = tx
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]  223 | |                             .send(AgentEvent::Error {
[INFO] [stdout]  224 | |                                 error: format!(
[INFO] [stdout]  225 | |                                     "Rate limited. Waiting {:.0}s... (attempt {}/3)",
[INFO] [stdout] ...    |
[INFO] [stdout]  229 | |                             })
[INFO] [stdout]  230 | |                             .await;
[INFO] [stdout]      | |                                  -
[INFO] [stdout]      | |__________________________________|
[INFO] [stdout]      | |__________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  231 | |                         tokio::time::sleep(std::time::Duration::from_millis(wait)).await;
[INFO] [stdout]      | |                         ----------------------------------------------------------------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  238 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/agent/agent.rs:215:23
[INFO] [stdout]      |
[INFO] [stdout]  212 |           let mut event_stream = 'retry: {
[INFO] [stdout]      |               ----------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `event_stream` calls a custom destructor
[INFO] [stdout]      |               `event_stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  215 |                   match provider
[INFO] [stdout]      |  _______________________^
[INFO] [stdout]  216 | |                     .stream_response(&messages, &system_prompt, &tool_defs)
[INFO] [stdout]  217 | |                     .await
[INFO] [stdout]      | |                      ----^
[INFO] [stdout]      | |                      |   |
[INFO] [stdout]      | |                      |   this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                      |   up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |______________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]      |                        |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                        up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  222 |                           let _ = tx
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]  223 | |                             .send(AgentEvent::Error {
[INFO] [stdout]  224 | |                                 error: format!(
[INFO] [stdout]  225 | |                                     "Rate limited. Waiting {:.0}s... (attempt {}/3)",
[INFO] [stdout] ...    |
[INFO] [stdout]  229 | |                             })
[INFO] [stdout]  230 | |                             .await;
[INFO] [stdout]      | |                                  -
[INFO] [stdout]      | |__________________________________|
[INFO] [stdout]      | |__________________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                    `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  231 | |                         tokio::time::sleep(std::time::Duration::from_millis(wait)).await;
[INFO] [stdout]      | |                         ----------------------------------------------------------------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  238 | |             }
[INFO] [stdout]      | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  243 | |             process_stream(&mut event_stream, &session_id, &provider, &tx, &cancel).await?;
[INFO] [stdout]      | |             -----------------------------------------------------------------------------
[INFO] [stdout]      | |             |
[INFO] [stdout]      | |             this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |             `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  272 |                       let _ = tx
[INFO] [stdout]      |  _____________________________-
[INFO] [stdout]      | |_____________________________|
[INFO] [stdout]  273 | |                         .send(AgentEvent::ToolCallStart {
[INFO] [stdout]  274 | |                             id: call_id.to_string(),
[INFO] [stdout]  275 | |                             name: call_name.to_string(),
[INFO] [stdout]  276 | |                         })
[INFO] [stdout]  277 | |                         .await;
[INFO] [stdout]      | |                              -
[INFO] [stdout]      | |______________________________|
[INFO] [stdout]      | |______________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  278 |
[INFO] [stdout]  279 | |                     let tool_ctx = ToolContext {
[INFO] [stdout]      | |                         --------
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         `tool_ctx` calls a custom destructor
[INFO] [stdout]      | |                         `tool_ctx` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  292 | |                     let result = match tool.run(&call, &tool_ctx).await {
[INFO] [stdout]      | |                                        --------------------------------
[INFO] [stdout]      | |                                        |
[INFO] [stdout]      | |                                        this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  296 |                               let _ = tx
[INFO] [stdout]      |  _____________________________________-
[INFO] [stdout]      | |_____________________________________|
[INFO] [stdout]  297 | |                                 .send(AgentEvent::ToolResult {
[INFO] [stdout]  298 | |                                     tool_call_id: call_id.to_string(),
[INFO] [stdout]  299 | |                                     tool_name: call_name.to_string(),
[INFO] [stdout] ...    |
[INFO] [stdout]  302 | |                                 })
[INFO] [stdout]  303 | |                                 .await;
[INFO] [stdout]      | |                                      -
[INFO] [stdout]      | |______________________________________|
[INFO] [stdout]      | |______________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  309 |                           let _ = tx
[INFO] [stdout]      |  _________________________________-
[INFO] [stdout]      | |_________________________________|
[INFO] [stdout]  310 | |                             .send(AgentEvent::ToolResult {
[INFO] [stdout]  311 | |                                 tool_call_id: call_id.to_string(),
[INFO] [stdout]  312 | |                                 tool_name: call_name.to_string(),
[INFO] [stdout] ...    |
[INFO] [stdout]  315 | |                             })
[INFO] [stdout]  316 | |                             .await;
[INFO] [stdout]      | |                                  -
[INFO] [stdout]      | |__________________________________|
[INFO] [stdout]      | |__________________________________this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                                    `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `event_stream` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `__awaitee` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pin-project-lite-0.2.16/src/lib.rs:1313:9
[INFO] [stdout]      |
[INFO] [stdout] 1313 | /         impl $(<
[INFO] [stdout] 1314 | |             $( $lifetime $(: $lifetime_bound)? ,)*
[INFO] [stdout] 1315 | |             $( $generics
[INFO] [stdout] 1316 | |                 $(: $generics_bound)?
[INFO] [stdout] ...    |
[INFO] [stdout] 1319 | |             ),*
[INFO] [stdout] 1320 | |         >)? $crate::__private::Drop for $self_ty
[INFO] [stdout]      | |________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/time/entry.rs:280:1
[INFO] [stdout]      |
[INFO] [stdout]  280 | / pin_project! {
[INFO] [stdout] ...    |
[INFO] [stdout]  310 | | }
[INFO] [stdout]      | |_- in this macro invocation
[INFO] [stdout] note: `tool_ctx` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-util-0.7.18/src/sync/cancellation_token.rs:125:1
[INFO] [stdout]      |
[INFO] [stdout]  125 | impl Drop for CancellationToken {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `$crate::__pin_project_make_drop_impl` which comes from the expansion of the macro `pin_project` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/cli/repl.rs:52:19
[INFO] [stdout]     |
[INFO] [stdout]  52 |                 match handle_command(&input, &app, &session).await {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     |                       |                                      |
[INFO] [stdout]     |                       |                                      this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                       |                                      up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       |                                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                       |                                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                       up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                       `__awaitee` calls a custom destructor
[INFO] [stdout]     |                       `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  55 |                     Err(e) => {
[INFO] [stdout]     |                         -
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `e` calls a custom destructor
[INFO] [stdout]     |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  60 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  63 |             let messages = app
[INFO] [stdout]     |    ________________________-
[INFO] [stdout]     |  _|________________________|
[INFO] [stdout]  64 | | |             .db
[INFO] [stdout]  65 | | |             .messages()
[INFO] [stdout]     | | |                       -
[INFO] [stdout]     | | |                       |
[INFO] [stdout]     | | |_______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  66 | |               .list(&session.id)
[INFO] [stdout]  67 | |               .await
[INFO] [stdout]     | |                    -
[INFO] [stdout]     | |                    |
[INFO] [stdout]     | |____________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  71 |             let (mut rx, _cancel) = app.agent.run(session.id.clone(), messages, input);
[INFO] [stdout]     |                  ------  -------    --------------------------------------------------
[INFO] [stdout]     |                  |       |          |
[INFO] [stdout]     |                  |       |          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                  |       |          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  |       `_cancel` calls a custom destructor
[INFO] [stdout]     |                  |       `_cancel` will be dropped later as of Edition 2024
[INFO] [stdout]     |                  `rx` calls a custom destructor
[INFO] [stdout]     |                  `rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  74 |             super::output::render_stream(&mut rx, false, None).await?;
[INFO] [stdout]     |             ---------------------------------------------------------
[INFO] [stdout]     |             |                                                  |
[INFO] [stdout]     |             |                                                  this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |             |                                                  `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |             `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     |             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |             `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/sqlx-core-0.8.6/src/pool/inner.rs:437:1
[INFO] [stdout]     |
[INFO] [stdout] 437 | impl<DB: Database> Drop for PoolInner<DB> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `rx` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `_cancel` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-util-0.7.18/src/sync/cancellation_token.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl Drop for CancellationToken {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/sync/mpsc/chan.rs:489:1
[INFO] [stdout]     |
[INFO] [stdout] 489 | impl<T, S: Semaphore> Drop for Rx<T, S> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:351:22
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----                       -----
[INFO] [stdout]     | |                            |                           |
[INFO] [stdout]     | |                            |                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |         up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |_________`#9` will be dropped later as of Edition 2024
[INFO] [stdout]     |           now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `async_stream::stream` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/providers/openai.rs:360:37
[INFO] [stdout]     |
[INFO] [stdout] 351 |           let stream = async_stream::stream! {
[INFO] [stdout]     |  ______________________-
[INFO] [stdout] 352 | |             use tokio_stream::StreamExt;
[INFO] [stdout] 353 | |
[INFO] [stdout] 354 | |             let mut byte_stream = Box::pin(byte_stream);
[INFO] [stdout] ...   |
[INFO] [stdout] 360 | |             while let Some(chunk) = byte_stream.next().await {
[INFO] [stdout]     | |                            -----    ^^^^^^^^^^^^^^^^^^^-----
[INFO] [stdout]     | |                            |        |                  |
[INFO] [stdout]     | |                            |        |                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     | |                            |        |                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     | |                            |        this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |                            |        up until Edition 2021 `#11` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     | |                            `chunk` calls a custom destructor
[INFO] [stdout]     | |                            `chunk` will be dropped later as of Edition 2024
[INFO] [stdout] 361 | |                 let chunk = match chunk {
[INFO] [stdout]     | |                     -----
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     | |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 362 | |                     Ok(c) => c,
[INFO] [stdout] 363 | |                     Err(e) => {
[INFO] [stdout]     | |                         -
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         `e` calls a custom destructor
[INFO] [stdout]     | |                         `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 491 | |             }
[INFO] [stdout]     | |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 492 | |         };
[INFO] [stdout]     | |         -
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |         `__awaitee` calls a custom destructor
[INFO] [stdout]     | |         `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     | |         `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     | |         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     | |         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     | |         `#6` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]     | |         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |         `#9` will be dropped later as of Edition 2024
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |           `#10` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `chunk` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `chunk` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.11.1/src/bytes.rs:680:1
[INFO] [stdout]     |
[INFO] [stdout] 680 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tools/ls.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 |             while let Some(entry) = dir
[INFO] [stdout]    |  __________________________-----____^
[INFO] [stdout]    | |  ________________________|________|
[INFO] [stdout]    | | |                        |
[INFO] [stdout]    | | |                        `entry` calls a custom destructor
[INFO] [stdout]    | | |                        `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 50 | | |             .next_entry()
[INFO] [stdout] 51 | | |             .await
[INFO] [stdout]    | | |              -----
[INFO] [stdout]    | | |              |   |
[INFO] [stdout]    | | |______________|___`__awaitee` calls a custom destructor
[INFO] [stdout]    | |                |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    | |                this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |                up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 52 | |               .map_err(|e| ToolError::ExecutionFailed(e.to_string()))?
[INFO] [stdout]    | |                                                                      ^
[INFO] [stdout]    | |                                                                      |
[INFO] [stdout]    | |                                                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | |                                                                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |______________________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                                                                        up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 53 |             {
[INFO] [stdout] 54 |                 let meta = entry.metadata().await.ok();
[INFO] [stdout]    |                            ----------------------
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 65 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> src/tools/view.rs:71:37
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 while let Some(entry) = dir
[INFO] [stdout]    |  ______________________________-----____^
[INFO] [stdout]    | |  ____________________________|________|
[INFO] [stdout]    | | |                            |
[INFO] [stdout]    | | |                            `entry` calls a custom destructor
[INFO] [stdout]    | | |                            `entry` will be dropped later as of Edition 2024
[INFO] [stdout] 72 | | |                 .next_entry()
[INFO] [stdout] 73 | | |                 .await
[INFO] [stdout]    | | |                  -----
[INFO] [stdout]    | | |                  |   |
[INFO] [stdout]    | | |__________________|___`__awaitee` calls a custom destructor
[INFO] [stdout]    | |                    |   `__awaitee` will be dropped later as of Edition 2024
[INFO] [stdout]    | |                    this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    | |                    up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    | |                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 74 | |                   .map_err(|e| ToolError::ExecutionFailed(e.to_string()))?
[INFO] [stdout]    | |                                                                          ^
[INFO] [stdout]    | |                                                                          |
[INFO] [stdout]    | |                                                                          this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    | |                                                                          up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    | |__________________________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                                                                            up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 75 |                 {
[INFO] [stdout] 76 |                     let is_dir = entry
[INFO] [stdout]    |    ______________________________-
[INFO] [stdout]    |   |______________________________|
[INFO] [stdout] 77 |   |                     .file_type()
[INFO] [stdout] 78 |   |                     .await
[INFO] [stdout]    |   |                          -
[INFO] [stdout]    |   |__________________________|
[INFO] [stdout]    |   |__________________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                              `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 87 |   |             }
[INFO] [stdout]    |   |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout] note: `entry` invokes this custom destructor
[INFO] [stdout]   --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/fs/unix.rs:1011:0
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/cli/setup.rs:81:35
[INFO] [stdout]     |
[INFO] [stdout]  81 |                             match save_api_key(&key) { Err(e) => {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^       -
[INFO] [stdout]     |                                   |                        |
[INFO] [stdout]     |                                   |                        `e` calls a custom destructor
[INFO] [stdout]     |                                   |                        `e` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  86 |                         }
[INFO] [stdout]     |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `e` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.101/src/error.rs:731:1
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 27s
[INFO] [stderr] crater-edition-check: octo-code-agent v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking octo-code-agent v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 32s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "3dbb42e74b5fe7bfa0a134c5aa00551875909615d6b0e29eba2434ab0618a3f8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3dbb42e74b5fe7bfa0a134c5aa00551875909615d6b0e29eba2434ab0618a3f8", kill_on_drop: false }`
[INFO] [stdout] 3dbb42e74b5fe7bfa0a134c5aa00551875909615d6b0e29eba2434ab0618a3f8
